package com.group.activity.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NonNull;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Future;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Past;

/**
 * 拼团列表
 *
 * @author gxx
 */
@Data
@TableName("puzzle_list")
public class PuzzleListEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 拼团列表
	 */
	@TableId
	private Integer puzzleListId;
	/**
	 * 头像
	 */
/*	@NotBlank(message = "头像不能为空")*/
	private String headPortrait;
	/**
	 * 开团团长id
	 */
/*	@NotNull(message = "开团团长id不能为空")*/
	private Integer headId;
	/*
	团长名称
	 */
	private String headName;
	/**
	 * 开团时间
	 */
	@Past(message = "开团时间不能小于当前时间")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private Date openingTime;
	/**
	 * 拼团商品
	 */
	@NotNull(message = "拼团商品不能为空")
	private Integer groupGoodsId;

	/*
	商品图片
	 */
	@NotBlank(message = "商品图片不能为空")
	private String groupGoodsImg;
	/*
	拼团名称
	 */
	@NotBlank(message = "拼团名称不能为空")
	private String groupName;
	/*
	拼团简介
	 */
	@NotBlank(message = "拼团简介不能为空")
	private String groupIntroduction;
	/*
	结束时间
	 */
	@Future(message = "结束时间不能大于开始时间")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private Date endTime;
	/*
	拼团人数
	 */
	/*@NotNull(message = "拼团人数不能为空")*/
	private Integer groupCount;
	/*
	排序
	 */
	@NotNull(message = "排序字段不能为空")
	private Integer groupOrder;
	/*
	运费模板(1:包邮  2:不包邮)
	 */
	@NotNull(message = "运费模板不能为空")
	private Integer groupFreight;
	/*
	活动状态(0:关闭 1:开启)
	 */
	@NotNull(message = "活动状态不能为空")
	private Integer groupStatus;
	/*
	规则参数
	 */
	@NotNull(message = "规则参数id不能为空")
	private Integer groupSpuId;
	/*
	拼团价格
	 */
	@NotNull(message = "拼团价格不能为空")
	private BigDecimal groupPrice;
	/*
	成团人数
	 */
	@NotNull(message = "成团人数不能为空")
	private Integer groupMaxcount;
	/*
	拼团状态(0:拼团成功 1:拼团失败 2：正在拼团)
	 */
	@NotNull(message = "拼团状态不能为空")
	private Integer groupSpuStatus;
	/*
	拼团提成
	 */
	@NotNull(message = "拼团提成不能为空")
	private BigDecimal groupCommission;

	/*
	下发提成状态
	 */
	private Integer groupIssued;
}
